home *** CD-ROM | disk | FTP | other *** search
- //
- // CITListBrowser include
- //
- // StormC
- //
- // version 2002.01.27
- //
-
- #ifndef CIT_LISTBROWSER_H
- #define CIT_LISTBROWSER_H TRUE
-
- #ifndef CIT_GADGETS_H
- #include "CITGadget.h"
- #endif
-
- #include <gadgets/listbrowser.h>
-
- //
- // This enum is for internal use only
- //
- enum
- {
- CITLISTBROWSER_LABELS = 0,
- CITLISTBROWSER_TOP,
- CITLISTBROWSER_MAKEVISIBLE,
- CITLISTBROWSER_SPACING,
- CITLISTBROWSER_SELECTED,
- CITLISTBROWSER_MULTISELECT,
- CITLISTBROWSER_SHOWSELECTED,
- CITLISTBROWSER_VERTSEPARATORS,
- CITLISTBROWSER_HORIZSEPARATORS,
- CITLISTBROWSER_BORDERLESS,
- CITLISTBROWSER_COLUMNINFO,
- CITLISTBROWSER_COLUMNTITLES,
- CITLISTBROWSER_AUTOFIT,
- CITLISTBROWSER_VIRTUALWIDTH,
- CITLISTBROWSER_LEFT,
- CITLISTBROWSER_VERTICALPROP,
- CITLISTBROWSER_HORIZONTALPROP,
- CITLISTBROWSER_VPROPTOTAL,
- CITLISTBROWSER_VPROPTOP,
- CITLISTBROWSER_VPROPVISIBLE,
- CITLISTBROWSER_HPROPTOTAL,
- CITLISTBROWSER_HPROPTOP,
- CITLISTBROWSER_HPROPVISIBLE,
- CITLISTBROWSER_VIEWPOSITION,
- CITLISTBROWSER_SCROLLRASTER,
- CITLISTBROWSER_HIERARCHICAL,
- CITLISTBROWSER_SHOWIMAGE,
- CITLISTBROWSER_HIDEIMAGE,
- CITLISTBROWSER_LEAFIMAGE,
- CITLISTBROWSER_EDITABLE,
- CITLISTBROWSER_EDITNODE,
- CITLISTBROWSER_EDITCOLUMN,
- CITLISTBROWSER_EDITTAGS,
- CITLISTBROWSER_CHECKIMAGE,
- CITLISTBROWSER_UNCHECKEDIMAGE,
- CITLISTBROWSER_MINNODESIZE,
- CITLISTBROWSER_TITLECLICKABLE,
- CITLISTBROWSER_MINVISIBLE,
- CITLISTBROWSER_PERSISTSELECT,
- CITLISTBROWSER_CURSORSELECT,
- CITLISTBROWSER_FASTRENDER,
- CITLISTBROWSER_WRAPTEXT,
- CITLISTBROWSER_LAST
- };
-
- class CITListBrowser:public CITGadget
- {
- public:
- CITListBrowser();
- ~CITListBrowser();
-
- void Labels(char** labels);
- void Labels(List* labels)
- {setTag(CITLISTBROWSER_LABELS,LISTBROWSER_Labels,ULONG(labels));}
- void Top(LONG top)
- {setTag(CITLISTBROWSER_TOP,LISTBROWSER_Top,top);}
- void MakeVisible(LONG mv)
- {setTag(CITLISTBROWSER_MAKEVISIBLE,LISTBROWSER_MakeVisible,mv);}
- void Spacing(WORD spacing)
- {setTag(CITLISTBROWSER_SPACING,LISTBROWSER_Spacing,spacing);}
- void Selected(LONG sel)
- {setTag(CITLISTBROWSER_SELECTED,LISTBROWSER_Selected,sel);}
- void MultiSelect(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_MULTISELECT,LISTBROWSER_MultiSelect,b);}
- void ShowSelected(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_SHOWSELECTED,LISTBROWSER_ShowSelected,b);}
- void VertSeparators(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_VERTSEPARATORS,LISTBROWSER_VertSeparators,b);}
- void HorizSeparators(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_HORIZSEPARATORS,LISTBROWSER_HorizSeparators,b);}
- void Borderless(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_BORDERLESS,LISTBROWSER_Borderless,b);}
- void ColumnInfo(struct ColumnInfo* cInfo)
- {setTag(CITLISTBROWSER_COLUMNINFO,LISTBROWSER_ColumnInfo,ULONG(cInfo));}
- void ColumnTitles(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_COLUMNTITLES,LISTBROWSER_ColumnTitles,b);}
- void AutoFit(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_AUTOFIT,LISTBROWSER_AutoFit,b);}
- void VirtualWidth(WORD width)
- {setTag(CITLISTBROWSER_VIRTUALWIDTH,LISTBROWSER_VirtualWidth,width);}
- void Left(WORD left)
- {setTag(CITLISTBROWSER_LEFT,LISTBROWSER_Left,left);}
- void VerticalProp(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_VERTICALPROP,LISTBROWSER_VerticalProp,b);}
- void HorizontalProp(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_HORIZONTALPROP,LISTBROWSER_HorizontalProp,b);}
- void VPropTotal(WORD total)
- {setTag(CITLISTBROWSER_VPROPTOTAL,LISTBROWSER_VPropTotal,total);}
- void VPropTop(WORD top)
- {setTag(CITLISTBROWSER_VPROPTOP,LISTBROWSER_VPropTop,top);}
- void VPropVisible(WORD visible)
- {setTag(CITLISTBROWSER_VPROPVISIBLE,LISTBROWSER_VPropVisible,visible);}
- void HPropTotal(WORD total)
- {setTag(CITLISTBROWSER_HPROPTOTAL,LISTBROWSER_HPropTotal,total);}
- void HPropTop(WORD top)
- {setTag(CITLISTBROWSER_HPROPTOP,LISTBROWSER_HPropTop,top);}
- void HPropVisible(WORD visible)
- {setTag(CITLISTBROWSER_HPROPVISIBLE,LISTBROWSER_HPropVisible,visible);}
- void ViewPosition(ULONG pos)
- {setTag(CITLISTBROWSER_VIEWPOSITION,LISTBROWSER_Position,pos);}
- void ScrollRaster(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_SCROLLRASTER,LISTBROWSER_ScrollRaster,b);}
- void Hierarchical(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_HIERARCHICAL,LISTBROWSER_Hierarchical,b);}
- void ShowImage(struct Image* im)
- {setTag(CITLISTBROWSER_SHOWIMAGE,LISTBROWSER_ShowImage,ULONG(im));}
- void HideImage(struct Image* im)
- {setTag(CITLISTBROWSER_HIDEIMAGE,LISTBROWSER_HideImage,ULONG(im));}
- void LeafImage(struct Image* im)
- {setTag(CITLISTBROWSER_LEAFIMAGE,LISTBROWSER_LeafImage,ULONG(im));}
- void Editable(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_EDITABLE,LISTBROWSER_Editable,b);}
- void EditNode(LONG node)
- {setTag(CITLISTBROWSER_EDITNODE,LISTBROWSER_EditNode,node);}
- void EditColumn(WORD col)
- {setTag(CITLISTBROWSER_EDITCOLUMN,LISTBROWSER_EditColumn,col);}
- void EditTags(struct TagList* list)
- {setTag(CITLISTBROWSER_EDITTAGS,LISTBROWSER_EditTags,ULONG(list));}
- void CheckImage(struct Image* im)
- {setTag(CITLISTBROWSER_CHECKIMAGE,LISTBROWSER_CheckImage,ULONG(im));}
- void UncheckedImage(struct Image* im)
- {setTag(CITLISTBROWSER_UNCHECKEDIMAGE,LISTBROWSER_UncheckedImage,ULONG(im));}
- void MinNodeSize(LONG nSize)
- {setTag(CITLISTBROWSER_MINNODESIZE,LISTBROWSER_MinNodeSize,nSize);}
- void TitleClickable(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_TITLECLICKABLE,LISTBROWSER_TitleClickable,b);}
- void MinVisible(LONG mVisible)
- {setTag(CITLISTBROWSER_MINVISIBLE,LISTBROWSER_MinVisible,mVisible);}
- void PersistSelect(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_PERSISTSELECT,LISTBROWSER_PersistSelect,b);}
- void CursorSelect(LONG cSelect)
- {setTag(CITLISTBROWSER_CURSORSELECT,LISTBROWSER_CursorSelect,cSelect);}
- void FastRender(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_FASTRENDER,LISTBROWSER_FastRender,b);}
- void WrapText(BOOL b = TRUE)
- {setTag(CITLISTBROWSER_WRAPTEXT,LISTBROWSER_WrapText,b);}
-
- LONG Top()
- {return getTag(LISTBROWSER_Top);}
- LONG Selected()
- {return getTag(LISTBROWSER_Selected);}
- LONG NumSelected()
- {return getTag(LISTBROWSER_NumSelected);}
- ULONG RelEvent()
- {return getTag(LISTBROWSER_RelEvent);}
- WORD MouseX()
- {return getTag(LISTBROWSER_MouseX);}
- WORD MouseY()
- {return getTag(LISTBROWSER_MouseY);}
- WORD RelColumn()
- {return getTag(LISTBROWSER_RelColumn);}
- LONG TotalNodes()
- {return getTag(LISTBROWSER_TotalNodes);}
- LONG CursorSelect()
- {return getTag(LISTBROWSER_CursorSelect);}
- Node* CursorNode()
- {return (Node*)getTag(LISTBROWSER_CursorNode);}
- LONG TotalVisibleNodes()
- {return getTag(LISTBROWSER_TotalVisibleNodes);}
-
- protected:
- virtual BOOL Create(CITWindow* CITWd,class CITRootClass* parent);
- virtual Object* NewObjectA(TagItem* tags);
- //virtual void HandleEvent(ULONG result,UWORD code);
-
- private:
- void setTag(int index,ULONG attr,ULONG val);
- ULONG getTag(ULONG attr);
-
- TagItem* listBrowserTag;
- CITList labelList;
- };
-
- #endif
-